www.gusucode.com > XYCMS PHP留言板源码 v1.8PHP源码程序 > XYCMS PHP留言板源码 v1.8/xycmslyb_v1.8/xycmslyb_v1.8/Libs/Function/fun.php
<?php /**操作成功提示**/ function ok_info($url,$langinfo){ if($url==0){ echo("<script type='text/javascript'> alert('$langinfo');history.go(-1);</script>"); }else{ echo("<script type='text/javascript'> alert('$langinfo'); location.href='$url'; </script>"); } exit; } function getIp() { if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP"); else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) $ip = getenv("REMOTE_ADDR"); else if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) $ip = $_SERVER['REMOTE_ADDR']; else $ip = "unknown"; return ($ip); } function xy_rep($str){ return str_replace(array('#', '@', '\'','or'),'', $str); } function str_cut($string, $length, $dot = '...',$charset) { $strlen = strlen($string); if($strlen <= $length) return $string; $string = str_replace(array(' ',' ', '&', '"', ''', '“', '”', '—', '<', '>', '·', '…'), array('∵',' ', '&', '"', "'", '“', '”', '—', '<', '>', '·', '…'), $string); $strcut = ''; if(strtolower($charset) == 'utf-8') { $length = intval($length-strlen($dot)-$length/3); $n = $tn = $noc = 0; while($n < strlen($string)) { $t = ord($string[$n]); if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) { $tn = 1; $n++; $noc++; } elseif(194 <= $t && $t <= 223) { $tn = 2; $n += 2; $noc += 2; } elseif(224 <= $t && $t <= 239) { $tn = 3; $n += 3; $noc += 2; } elseif(240 <= $t && $t <= 247) { $tn = 4; $n += 4; $noc += 2; } elseif(248 <= $t && $t <= 251) { $tn = 5; $n += 5; $noc += 2; } elseif($t == 252 || $t == 253) { $tn = 6; $n += 6; $noc += 2; } else { $n++; } if($noc >= $length) { break; } } if($noc > $length) { $n -= $tn; } $strcut = substr($string, 0, $n); $strcut = str_replace(array('∵', '&', '"', "'", '“', '”', '—', '<', '>', '·', '…'), array(' ', '&', '"', ''', '“', '”', '—', '<', '>', '·', '…'), $strcut); } else { $dotlen = strlen($dot); $maxi = $length - $dotlen - 1; $current_str = ''; $search_arr = array('&',' ', '"', "'", '“', '”', '—', '<', '>', '·', '…','∵'); $replace_arr = array('&',' ', '"', ''', '“', '”', '—', '<', '>', '·', '…',' '); $search_flip = array_flip($search_arr); for ($i = 0; $i < $maxi; $i++) { $current_str = ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i]; if (in_array($current_str, $search_arr)) { $key = $search_flip[$current_str]; $current_str = str_replace($search_arr[$key], $replace_arr[$key], $current_str); } $strcut .= $current_str; } } return $strcut.$dot; } function injCheck($sql_str) { $check = preg_match('/select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile/', $sql_str); if ($check) { ok_info('/index.php','非法字符'); exit; } else { return $sql_str; } } //以下函数涉及数据库操作 function getclassname($cid,$table,$url){ global $db; $sqll="select id,title from `{$table}` where id=".$cid.""; $rows=$db->get_one($sqll,MYSQL_ASSOC); if($rows){ return "<a href='".$url."?id=".$rows['id']."' target='_self'>".$rows['title']."</a>"; }else{ return ; } } function reply_content($rid,$table){ global $db; $sqll="select id,r_name,r_content,r_date from `{$table}` where b_id=".$rid.""; $rows=$db->get_all($sqll,MYSQL_ASSOC); $reply_list=''; if($rows){ foreach($rows as $data=>$v){ $reply_list.="<div class='reply'><strong>".$v['r_name']."回复:</strong>".$v['r_content']."</div>"; } }else{ $reply_list.="<div class='reply'><strong>管理员回复:</strong>暂未回复,留言正在处理中...</div>"; } return $reply_list; } function book_classlist(){ global $db; $sqllist="select id,title from `xycms_book_class` order by c_order asc"; $rowlist=$db->get_all($sqllist,MYSQL_ASSOC); if($rowlist){ foreach($rowlist as $data=>$v){ $class_list.="<option value='".$v['id']."'>".$v['title']."</option>"; } }else{ $class_list="<option value=''>无分类</option>"; } return $class_list; } ?>